// 生产环境的webpack配置文件
const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const CopyWebpackPlugin = require("copy-webpack-plugin");
module.exports = {
    mode: "production",
    entry: path.resolve(process.cwd(), "./src/index.js"), // 入口文件
    output: {
        path: path.resolve(process.cwd(), "./dist"),
        filename: "[name].js",
        publicPath:"/"
    },
    resolve: {
        alias: {
            // @ 符号  等同于 path.resolve(process.cwd(), "src/views")
            "@": path.resolve(process.cwd(), "src/views")
        }
    },
    module: {
        rules: [{
            test: /\.html$/i,
            loader: "html-loader",
        },
        {
            test: /\.ejs$/,
             loader: 'ejs-loader',
             options: {
                 variable: 'data', // 可以在模块当中使用data进行数据处理
             }
         }]
        },
    plugins: [
        new HtmlWebpackPlugin({
            title: "admin",
            filename: "index.html",
            template: "./public/index.html"
        }),
        new CopyWebpackPlugin({
            patterns: [{
                from: "public",
                to: "./",
                globOptions: {
                    ignore: ["**/index.html"] // 排除index.html
                }
            },{
                from:"./src/static",
                to:"./" 
             }]
        })
    ]
}